System and method for an online speaker patch-through

ABSTRACT

Systems and methods described herein may be incorporated into a “service marketplace” system that matches users with potential information or service providers and establishes a real-time communications connection between the user and a selected information provider. In one embodiment, an alternate is selected for the user when the service provider that the user is trying to connect with cannot be reached. In an alternative embodiment, the alternates can be used in conjunction with the service provider that does connect with the user in order to provide a second opinion or possibly deeper background information. In one embodiment, the service providers can either be a live person at the other end of the connection or a recording.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 09/764,021, filed Jan. 16, 2001 entitled “System and Method foran Online Speaker Patch-Through,” which is related to U.S. patentapplication Ser. No. 09/414,710, filed Oct. 8, 1999 entitled “System forProviding Services in Real-Time over the Internet,” which is nowabandoned. The entire contents of the above-referenced applications areincorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to electronic commerce usingdigital and analog networks. More specifically, the present inventionrelates to a network application for connecting clients with analternate service provider if the selected service provider isunavailable.

BACKGROUND OF THE INVENTION

Consumers interested in acquiring services must first identify a serviceprovider who is capable of providing the desired services. At present,this usually means perusing a telephone directory, which can becomefrustrating and time-consuming if the service providers telephoned arenot immediately available. Also, a phone book (whether a bound paperbook or an electronic directory) is also not very effective if theservice provider's business category is not known.

Over the years, a number of systems have been developed that partiallyaddress this problem. In particular, these include systems that attemptto match potential customers with potential service providers. Theyrange from free bulletin-board-style Internet web sites to sophisticatedInternet-based consulting services.

One such system is similar to an electronic “marketplace.” Users submitvia the Internet a description of the services they need to anInternet-based “exchange.” These descriptions include the subject matterof the requested service, time constraints for service delivery, and theproposed price to be paid for the services. The exchange then identifiespotential service providers and facilitates bidding for the job by theselected service providers, some of whom may or may not have beenselected previously by the user. Once the service providers' bids havebeen received by the user, the user sends a full job request to one ormore service providers of particular interest. The service providers whoremain interested in the proposed work then submit a final bid to theuser. This bid may also include the service provider's particularqualifications and conditions for accepting the work. After the work hasbeen completed, the service provider contacts the exchange for payment.Although this system is beneficial, users still do not immediately knowif a service provider is available and the response from the serviceprovider is neither immediate nor direct.

Another prior art system maintains a list of independent professorsavailable for answering questions via the Internet. The system functionsas a middleman between the customer and the professors. The customercontacts the system via the Internet with a question. The system thencontacts various service providers within the appropriate field via theInternet and forwards the customer's question to the service providers.Here too, customers do not immediately know if a service provider isavailable, and the response from the service provider is not immediate.

There is another system that allows users to post via the Internetquestions for service providers related to specific topical categories.However, there is no guarantee that a service provider will answer thequestion as the user does not pay for the services and the serviceproviders are not paid. Again, presuming the service provider is willingto answer a question, users do not immediately know if a serviceprovider is available and the response from the service provider isneither immediate nor direct.

Another system allows users to post questions to an electronic “bulletinboard.” Other users, whether service provider or not, provide answers orcomments on a voluntary basis. This system, though useful, suffers frommany of the same problems as the system described above.

What is needed is a system and method for a user to select aninformation provider and be connected to that provider in real time.What is further needed is a method and system for finding the user analternate service provider when the service provider that the user hasselected is not available.

SUMMARY OF THE INVENTION

The systems and methods described herein may be incorporated into a“service marketplace” system that matches users with potentialinformation or service providers and establishes a real-timecommunications connection between the user and a selected informationprovider. In one embodiment, an alternate is selected for the user whenthe service provider that the user is trying to connect with cannot bereached. In an alternative embodiment, the alternates can be used inconjunction with the service provider that does connect with the user inorder to provide a second opinion or possibly deeper backgroundinformation. In one embodiment, the service providers can either be alive person at the other end of the connection or a recording. Forexample, the recordings can be used as samples for the user to test outbefore going on to the live service provider.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements, and in which:

FIG. 1 illustrates a system for identifying information providers andconnecting customers with information providers in accordance with oneembodiment of the invention.

FIG. 2 illustrates an alternative embodiment of the system foridentifying information providers and connecting customers withinformation providers.

FIG. 3 illustrates one embodiment of an information provider's listingpage.

FIG. 4 diagrams in a flowchart an embodiment of a method performed whena user attempts to reach a service provider who is not available forcommunication

FIG. 5 diagrams in a flowchart an embodiment for producing an alternateservice provider for the user when the selected service provider isunavailable.

FIG. 6 diagrams in a flowchart an embodiment for selecting a serviceprovider.

FIG. 7 diagrams in a flowchart an alternate embodiment of a methodperformed when a user attempts to reach a service provider.

FIG. 8 diagrams in a flowchart an alternate embodiment of a callbackmethod in the event that a connection attempt between service providerand user is unsuccessful.

DETAILED DESCRIPTION OF THE INVENTION

The systems and methods of the present invention may be incorporated aspart of a network application that establishes a real-timecommunications connection between an information provider and a customeror user through a communications network, such as telephone network, acomputer network, wireless communications network, etc. The networkapplication in one embodiment would be for a method of providing a userwho has selected an information provider from a list or database with analternative information provider. These alternative informationproviders could be used as replacements for the selected informationprovider if that service provider is absent when the user attempts aconnection. The alternate information providers can also be supplementalto the selected information provider. The term information provider canrefer to either a live service provider or a recording made by a serviceprovider.

FIG. 1 shows one embodiment of a system capable of incorporating oneembodiment of the invention. User computers (“customer computers”) 110and information provider computers (“service provider computers”) 120are connected through a network 150 (such as the Internet) to a hostcomputer or web server (“controller computer”) 130. Persons skilled inthe art will recognize that the controller computer 130 may consist ofmore than one computer working together to provide the controllercomputer functions described herein. The users (customers) andinformation providers (service providers) each have telephones 140 thatare connected to the telephone network 160. In FIG. 1, the computernetwork 150 and telephone network 160 are shown as two separateentities, though persons skilled in the art will realize that they canoverlap, as illustrated in FIG. 2.

In one embodiment, the controller computer 130 has the functionality ofa standard web server, capable of interacting dynamically via theservice provider computers 120 and the customer computers 110 withservice providers and customers, respectively. In addition to thestandard web server operation, the controller computer 130 is linked toa telephone interface 170 that enables the controller computer 130 toset up, initiate, confirm, and/or track conversations between thecustomers and service providers. The controller computer 130 has theability to establish a real-time communications connection betweenservice providers and customers to convey information in real-time in aninteractive manner.

In accordance with the embodiment shown in FIG. 1, the customercomputers 110 and the service provider computers 120 are connected tothe controller computer 130 through the network 150. Customers andservice providers use their computers to connect to the Internet network150. Once a connection has been established, service providers andcustomers will enter the URL, or Internet address, of the controllercomputer 130, and a plurality of logic units 131-134 within thecontroller computer establishes a computer connection with the customercomputer 110 and the service provider computer 120. In one embodiment,after the computer connection has been established between thecontroller computer 130 and the service provider and customer computers,120 and 110, respectively, a plurality of logic units 131-134 within thecontroller computer presents a web page on the service provider andcustomer computers.

Typically, customers and service providers register before customers canpurchase services or information and before service providers can offertheir services or information through the web site. During registration,the customers and the service providers are requested to submit certaininformation, such as a username and password. Customers may be requestedto submit credit card or other financial information. Service providersmay or may not be requested to submit credit card or other financialinformation. Once the requested information has been submitted, the datais stored in the database 310 in an account set up for the serviceprovider and in a user account set up for the customer.

A plurality of logic units 131-134 within the controller computer 130may present a web page on the customer computer 110 and the serviceprovider computer 120 through which the plurality of logic units 131-134prompts the customer and the service provider to submit the requestedregistration information. The plurality of logic units 131-134 arelinked with the database 135 and may automatically set up the accountsand automatically store the submitted registration information in theappropriate accounts on the database 135.

Service providers typically submit a description or a listing for eachservice they will provide through the web site. After the controllercomputer 130 has stored the description or listing, the servicedescribed may be offered to all of the users who browse the web site.Access to the web site may be established as described above, with thecustomer using a user computer (“customer computer”) 110 to connect to anetwork 150 and then entering the URL of the controller computer 130. Alogic unit of the plurality of logic units 131-134 within the controllercomputer 130 then establishes a computer connection with the customercomputer 110.

After the computer connection has been established, in one embodimentcustomers will have the option of executing a keyword search for serviceproviders. The keyword search can be executed from a web page presentedby a logic unit of the plurality of logic units 131-134 of thecontroller computer 130 on the customer computer 110. In an alternativeembodiment, the system can be accessed by a third party website. Akeyword search typically consists of scanning a database for words thatmatch the keywords entered. In this embodiment, the keyword search willbe executed against the stored descriptions and listing data. In oneembodiment, customers will view a list of service providers matching thekeyword search criteria on a web page presented by the logic unit of theplurality of logic units 131-134 on the customer computer. Customerswill have the option of viewing the service providers listed accordingto price, availability, or customer evaluations in either ascending ordescending order, though the service providers can be listed in anynumber of ways. As an alternative to a keyword search, customers canselect a category to view a predetermined list of service providers.

In an alternative embodiment in which the customer all ready knows theservice provider that the customer wishes to contact, that customer candial an 800 number to connect with the service provider. The customerenters the extension of the service provider, as well as the customer'spersonal identification number and the telephone number listed in thecustomer's personal information file. The system then attempts toconnect the user with the service provider.

In one embodiment, a logic unit of the plurality of logic units 131-134within the system presents, in response to a customer selection of aservice provider from the list, a listing page that contains additionalinformation about the selected service provider and the selectedinformation service. FIG. 3 illustrates an example of a listing pagethat provides more detailed information about a service provider thatgoes by the name of Jim. The listing page 300 shown in FIG. 3 provides abrief description the information services provided 310 and may alsoinclude rating information 320, a picture of the service provider 330, arate or price per minute 340, as well as other information that thepotential customer may find helpful such as the education background ofthe service provider 345. The listing page 300 may also include an iconwith hyperlink 350 that shows whether or not the service provider isavailable, and if he is, it may provide hyperlinks that enable thecustomer to call 350 or email 355 the service provider. The informationprovided in a listing page may be conveyed in other forms, e.g., insteadof a picture or photo 330 the service provider may choose to berepresented with an avatar or other information-rich graphic, and mayinclude other types of information in addition or instead of theinformation shown in the embodiment of FIG. 3.

When a customer decides to receive information, services, or justpleasant conversation from the service provider, the customer mayrequest to have a real-time communications connection established withthe service provider. For example, from the listing page illustrated inFIG. 3, a customer may click on the “Call Now” hyperlink 350 to sendsuch a request and, in response, a logic unit of the plurality of logicunits 131-134 within the system attempts to establish a real-timecommunications connection between the customer and the service provider.This real-time communications connection can take the form of atelephone connection, website chat, or voice connection over theInternet.

In one embodiment, if a connection should be attempted and the serviceprovider proves to be unavailable to respond, a logic unit of theplurality of logic units 131-134 within the controller will initiate asearch of the system's list of service providers for an alternateservice provider. In one embodiment, the list of alternate serviceproviders will be made up of service providers who match the selectedservice provider when compared using a pre-established set of criteria.The criteria can either be formulated ahead of time by the systemadministrator or entered into the system by the user. The criteria usedcould include subject matter and/or probably price.

In one embodiment, if the search fails to turn up a matching alternateservice provider (e.g., appropriate expertise and price range, orwhatever other criteria the system is using) the system will not givethe user the option of accepting an alternate. If the search does turnup someone who meets all the appropriate criteria and the user accepts,the user will be connected through, or “patched through”, to theavailable service provider.

In one embodiment, the service provider would be able to set up ahead oftime a referral, as described above, in case a call should come whilethey were unavailable. For example, she can elect to have the callpatched through to a backup service provider of her choice, have oneselected from the database for her, or have the user just be told thatthe service provider was not available and to try back later. In oneembodiment, if the service provider chooses to refer the call to someoneelse or to the database, that service provider will receive a percentageof whatever fees were earned. This may be an incentive for the serviceprovider to refer.

FIG. 4 shows one embodiment of a system for referral, or“patch-through”. In step 400, the user, or “Seeker”, is provided with alist of service providers, or “Speakers”, on a topic of the Seeker'schoosing. The Seeker selects a Speaker of his choosing in step 410. Instep 420, the system then attempts to connect the Seeker with theSpeaker in real time via a choice of methods as described above. If theconnection is successful at step 430, then the system goes to step 440and the Speaker and the Seeker will communicate in real time. In step450, the Seeker's account is billed for the amount of time spentcommunicating with the Speaker at the Speaker's posted rate. The systemthen takes for itself in step 460 a percentage of the amount billed. Ifthe connection is not successful the first time, the system will tryagain. In step 470, the system keeps track of how many attempts aremade. In step 480, if the system has tried a predetermined number oftimes (T), then the system will try to find the Seeker an alternateSpeaker in step 500.

A method for Finding an alternate Speaker is shown in FIG. 5. First, instep 510 the system checks whether the Speaker has an arrangement with asecond Speaker to refer to the second Speaker any Seekers for which theinitial Speaker is not available. If the initial Speaker does have a“covering Speaker”, then in step 520 the Seeker is asked if he wishes touse the covering Speaker. If the Seeker does want to communicate withthe covering Speaker, then the system proceeds to step 530 and attemptsto connect them using the method previously discussed 420. If the Seekerdoes not want to use the covering Speaker, the Seeker is asked in step540 if they would prefer a Speaker selected from the database. If theSeeker does prefer the database option, then the system proceeds to step550 and the database of Speakers is searched. The search could belimited to the Speakers in the same subject matter as the originalSpeaker. If the Seeker chooses not to have the database pick analternate Speaker, the system proceeds to step 560 and the connection isterminated. If the system finds in step 570 an alternate Speaker, thenin step 580 the Seeker is asked if he we wishes to communicate with thealternate Speaker. If the Seeker does want to use the alternate, thenthe system in step 590 attempts to connect them using the methodpreviously discussed 420. If the system was unable to find a qualifiedSpeaker, it then informs the Seeker of this in step 595. If the Seekerdoes not like the alternate Speaker selected, then the Seeker is thankedand the call is terminated as in step 560.

An exemplary embodiment for searching the database for an appropriatealternate Speaker is illustrated in FIG. 6. In one embodiment, thesearch would be limited to the Speakers in the same subject matter asthe initial Speaker. Speakers are arranged by subject matter on the listof Speakers, simplifying the exclusion of Speakers that are not in thesame category. In one embodiment, the search pool would also exclude theinitial Speaker and any Speaker listed as being not available at thattime.

Before starting the search, a set of parameters is initialized in step610. In one embodiment, the total number of Speakers being sorted (n),an index number (s), and an alternate Speaker index (CS) could be usedto keep track of whether all the Speakers in that field have beensearched through and if any viable alternates have been found. The indexnumber would indicate which Speaker in the pool the system is looking atand the alternate Speaker index would indicate the current Speaker (e.g.the least expensive, the most reliable, or other criteria deemedimportant). The nature of the other parameters depends on the type ofcriteria the system, or in some embodiments the user, want to use tosift through the database. For example, the criteria of price (P(s)) andreliability (R(s)) could be used. A set percentage (p) of the selectedSpeaker's price (P0) would be established as the maximum variance, whilea minimum reliability index (r) is also set. The criteria p could beexpressed as a decimal. One embodiment of the reliability index would bethe number of successful connections between that Speaker and previoususers divided by total number of connections attempted. First timeSpeakers could be given either a unity reliability index to make surethat new Speakers are not constantly ignored, or a zero reliabilityindex to make it more likely that the Seeker will get somebody who willbe there. The current Speaker could be judged against a reliabilityindex of r and a price of (1+p) times P0. Other criteria, such aswhether the Speaker is part of a recognized group, entity, or company,could be used as well. Alternate Speaker index CS is set to −1 or someother number that it could not possibly reach otherwise. This setting isselected so that the system knows whether or not any viable alternateSpeaker was found. Speaker index s is set to 0 to examine the firstSpeaker in the field.

The algorithm displayed is rather simple. In step 620, the price forSpeaker 0 is checked against the selected Speaker's price. If the priceis greater than or equal to the maximum tolerance for the initialSpeaker's price, the system follows Loop 1 in FIG. 6 and increments theSpeaker index s at step 630. If the price for Speaker 0 is less than themaximum tolerance for the initial Speaker's price, then the system movesto step 640 and the reliability index is considered. If the reliabilityindex is less than or equal to the minimum reliability index r, thesystem follows Loop 2 and increments the Speaker index s at step 630. Ifthe reliability index of Speaker s is greater than the minimumreliability index r, then the alternate Speaker index CS is set to theindex of that Speaker s in step 650. Additionally in step 650, thereliability index for that Speaker becomes the new minimum reliabilityindex r. The system follows Loop 3 and increments the Speaker index atstep 630. If the Speaker index s is less than the total number ofSpeakers n at step 660, then the process is repeated. If not, then thealternate Speaker index CS is examined at step 670. If the alternateSpeaker index CS equals −1, or whatever other impossible number it wasoriginally set to, then this means that no alternate Speaker was found,and such a message is sent to the Seeker at step 680. If alternateSpeaker index CS equals a positive integer, then the Speaker noted bythat index is selected as the alternate Speaker at step 690. In theory,this will be the Speaker with the highest reliability index, or thefirst Speaker found at that index.

The algorithm is only exemplary and can be altered to suit the needs ofthe system manager. For example, the Speaker with the lowest price couldbe sought out, or the lowest price at the highest reliability index. Inaddition, other criteria can be introduced into the system and thealgorithm could be adjusted accordingly. The current algorithm can alsobe altered to increase speed and efficiency.

The search for alternate Speakers does not apply solely to occasionswhere the initial Speaker is unable to reply. An alternate Speaker couldbe provided to supplement the advice of the initial Speaker. Anexemplary embodiment of this is shown in FIG. 7. As before, the systemprovides a list of service providers at step 700 and the Seeker choosesthe one he prefers at step 710. The system then connects the Seeker withthe Speaker at step 720, and the Speaker advises the Seeker as before instep 730. As embodied here, the system searches the database foralternate Speakers at step 740 after the initial Speaker advises theSeeker, but this search can occur anytime after the Seeker has selecteda Speaker. At step 750, the Seeker would be asked whether he desires tohear a second opinion from a second Speaker. If he does, the system willthen connect him with the alternate Speaker, as it did in step 720. Ifnot, the Seeker's call is completed 760.

The information providers are not necessarily limited to live serviceproviders. A service provider can pre-record information on a topic thatcan be played over the telephone for the user who has selected it. Theserecorded answers could be used standing alone or to complement anexisting live-answer service provider, another recorded serviceprovider, or another recording by the same service provider.Additionally if the service provider should be unable to respond to aconnection, she could have a previously prepared tape on the listedsubject that the user could be referred to.

An alternate embodiment would be for a user that has communicated with aservice provider to hear recorded materials on that subject.Additionally, a user that has listened to a recording could then chooseto hear more from the person in question, either live or by a recordingon a different subject.

One embodiment would be a form of advertising. The user could select acheaper recording by the desired service provider. After having listenedand evaluated the recording, the user could then choose to pay more tohear the person live. This way impulse buying of service provideropinions could be increased, in addition to giving the user a lessexpensive method of evaluating the service provider's skills andknowledge before purchase. In one embodiment, the user could receive acondensed version of the information from the recording then go in depthwith the live service provider.

In an alternative embodiment illustrated by the flowchart of FIG. 8, thepatch-through need not connect the user with an alternate serviceprovider if the user decides against having an alternate. Thisembodiment would attempt to connect the user with a service provider. Inthe event that the attempts to connect with the alternate serviceprovider prove unsuccessful 800, the user is provided with a set ofoptions 810. The user can choose to be provided with an alternateprovider 500, in which case the system would follow the methodillustrated on the flowchart of FIG. 5. The user could also choose toleave a message on voice mail 820, then have the connection terminated830. In an alternate embodiment, the user could choose to have theservice provider call them back 840. The user would set the phone numberat which the user would be contacted 850, and set a time limit withinwhich the service provider was to call 860. After the call back is setup, the connection would be terminated 830.

When the systems and methods of the present invention are incorporatedas part of a network application that establishes a real-timecommunications connection between an information provider and a customeror user through a communications network, the possibility that the userwill actually connect with an information provider increases. Inaddition, by supplementing the provider's information service withsecond opinions or informational recordings, the user is given a morecomplete experience by the application. By allowing customers to screenservice providers by first listening to recordings by the serviceproviders before being patched through to the live service provider,customer satisfaction can also be increased.

The method and apparatus disclosed herein may be integrated intoadvanced Internet- or network-based knowledge systems as related toinformation retrieval, information extraction, and question and answersystems. FIG. 6 is an example of one embodiment of a computer system.The system shown has a processor 601 coupled to a bus 602. Also showncoupled to the bus are a memory 603 which may contain instructions 604.Additional components shown coupled to the bus are a storage device 605(such as a hard drive, floppy drive, CD-ROM, DVD-ROM, etc.), an inputdevice 606 (such as a keyboard, mouse, light pen, bar code reader,scanner, microphone, joystick, etc.), and an output device (such as aprinter, monitor, speakers, etc.). Of course, an exemplary computersystem could have more components than these or a subset of thecomponents listed.

The method described above can be stored in the memory of a computersystem (e.g., set top box, video recorders, etc.) as a set ofinstructions to be executed. In addition, the instructions to performthe method described above could alternatively be stored on other formsof machine-readable media, including magnetic and optical disks. Forexample, the method of the present invention could be stored onmachine-readable media, such as magnetic disks or optical disks, whichare accessible via a disk drive (or computer-readable medium drive).Further, the instructions can be downloaded into a computing device overa data network in a form of compiled and linked version.

Alternatively, the logic to perform the methods as discussed above couldbe implemented in additional computer and/or machine readable media,such as discrete hardware components as large-scale integrated circuits(LSI's), application-specific integrated circuits (ASIC's), firmwaresuch as electrically erasable programmable read-only memory (EEPROM's),etc.

Although the present invention has been described with reference tospecific exemplary embodiments, it will be evident that variousmodifications and changes may be made to these embodiments withoutdeparting from the broader spirit and scope of the invention.Accordingly, the specification and drawings are to be regarded in anillustrative rather than a restrictive sense.

1. A system, the system comprising: a first logic unit to provide a listof service providers to a user, indicating the availability of thatprovider; a second logic unit to receive the user's selection of aservice provider; a third logic unit to attempt to establish a real-timecommunications connection between the user and a selected serviceprovider; and a fourth logic unit to search a database of serviceproviders for an alternate service provider based on a pre-establishedset of criteria and to offer the user an option of connecting with analternate service provider.
 2. The system of claim 1, wherein the fourthlogic unit presents the alternate service provider if the user fails toconnect with the selected service provider.
 3. The system of claim 1,wherein the fourth logic unit presents the alternate service providerafter the user has completed a communication with the selected serviceprovider
 4. The system of claim 1, wherein the service provider is aninformation provider.
 5. The system of claim 4, wherein the informationprovider's information is provided in the form of a recordedtransmission.
 6. The system of claim 4, wherein the informationprovider's information is provided in the form of a communication with alive person.
 7. The system of claim 1, wherein the user's selection of aservice provider is received over a telephone connection.
 8. The systemof claim 1, wherein the user's selection of a service provider isreceived over an Internet connection.
 9. The system of claim 1, whereinthe pre-established set of criteria includes a rate of the serviceprovider.
 10. The system of claim 9, wherein the rate is determined tobe a match if it is within a predetermined range of the selected serviceprovider's rate.
 11. The system of claim 1, wherein the pre-establishedset of criteria includes subject matter.
 12. The system of claim 1,wherein the pre-established set of criteria includes a combination ofseparate criteria.
 13. The system of claim 1, wherein a systemadministrator establishes the set of criteria.
 14. The system of claim1, wherein a user establishes the set of criteria.
 15. The system ofclaim 1, wherein the pre-established set of criteria includes areliability factor.
 16. The system of claim 15, wherein the reliabilityfactor consists of a ratio of successful connections between serviceprovider and previous users to total attempts between the serviceprovider and, previous users.
 17. A method comprising: sending a user alist of service providers with their availability indicated; receivingfrom the user a selection of a service provider; attempting to establishreal-time communications between the user and the selected serviceprovider; and offering the user an option to connect to an alternateprovider.
 18. A method of rerouting a user from a selected serviceprovider to an alternate service provider, the method comprising: givingthe selected service provider an option of sending the user to adatabase of service providers when the selected provider can not bereached; searching the database for an alternate service provider thatmatches the selected service provider based on a pre-established set ofcriteria; and providing the user with a list of the matching alternateservice providers.
 19. A machine-readable storage medium tangiblyembodying a sequence of instructions executable by the machine toperform a method comprising: sending a user a list of service providerswith their availability indicated; receiving from the user a selectionof a service provider; attempting to establish real-time communicationsbetween the user and the selected service provider; and offering theuser an option to connect to an alternate provider.